This page last changed on Mar 21, 2004 by mroberts.

This is the Site Index for the CruiseControl.NET Space:

Space Index

0-9 ... 0 A ... 3 B ... 5 C ... 37 D ... 9 E ... 6
F ... 10 G ... 1 H ... 1 I ... 8 J ... 0 K ... 0
L ... 4 M ... 11 N ... 6 O ... 0 P ... 13 Q ... 1
R ... 7 S ... 22 T ... 8 U ... 36 V ... 6 W ... 5
X ... 4 Y ... 0 Z ... 0 !@#$ ... 0    

0-9

A

AccuRev Source Control Block
AccuRev Configuration Note: The AccuRev source control block is available in CCNet 1.3 and later. Typical / Minimal Configuration For most uses the following is all you'll need in your {{ccnet.config}} Configuring the Server: true Alienbrain Source Control Block
Alienbrain Configuration Examples Example using defaults: MyServer MyDatabase Username Password ab://myprojectpath Full example: Artifact Cleanup Publisher
artifact CleanUp publisher allows for automatic removal of the buildlogs according to the choosen setting. It relies on the build log folder, so the XML publisher must be specified before this publisher can run. For technical reasons this publisher MUST reside in the publisher section ...

B

Basic Installation
CruiseControl.NET is distributed in 3 formats: Two Installers, one for CruiseControl.NET proper (the Server and Web Dashboard), and a second for the optional CCTray utility. The Installers are conventional Windows installation programs, which perform some useful early setup work for you, such as copying ...
BitKeeper Source Control Block
BitKeeper Configuration Examples example using bkd c:\build\dev1.0 true ..\Source Configuration Elements Node Description Type Required Default executable Absolute ...
Build Log Build Plugin
Build Log Build Plugin shows you the XML log for a specific build. Initially it is viewed inline in an HTML view, but there is also an option to download the raw XML form. This is a Project Configurable Build Plugin. Example Configuration ...
Build Publisher
Build Publisher lets you copy any arbitrary files on a successful build. You can set alwaysPublish to true, if you want the copy always to happen. Example \\ C:\myprojects\project1 \\myfileserver\project1 ...
Build Report Build Plugin
Build Report Build Plugin shows detailed output for a specific build. This report is generated by applying a list of XSL transforms to the build's log file. See XSL Files for a list of available XSL transforms. This is a Project Configurable Build Plugin. Example ...

C

CCNet 0.6 Final Release Notes
Bugs CCNET1 Email Contains Incorrect Unit Test Information (Brad Wilson) CCNET2 SiteMesh cannot parse and render Html with foreign characters (Dmitry Ponomarenko) CCNET4 faild to display ccnet.log in web interface CCNET5 Comlains of missing XmlLogger ...
CCNet 0.6 RC1 Release Notes
Bugs CCNET1 Email Contains Incorrect Unit Test Information (Brad Wilson) CCNET4 faild to display ccnet.log in web interface CCNET5 Comlains of missing XmlLogger when it should not CCNET23 Vss writes labelling message to stderr. CCNET39 ServerLog ...
CCNet 0.6.1 Release Notes
Bug CCNET70 CCTray balloon misspells successful as succesful. CCNET72 PVCS locks pvcsout.txt file CCNET73 email publishing "clickable" project link (Clayton Harbour) CCNET81 MergeFileTask should not fail if directory does not exist! CCNET86 CCNet log ...
CCNet 0.7 RC-1 Release Notes
Overview CruiseControl.NET 0.7 is one of our largest single releases so far. If you are upgrading from 0.6.1 or earlier, there are some big changes. Some updates are: Some Source Control plugins can now automatically update your source ...
CCNet 0.7 Release Notes
Overview CruiseControl.NET 0.7 is one of our largest single releases so far. If you are upgrading from 0.6.1 or earlier, there are some big changes. Some updates are: Web Dashboard now has reporting options, allowing one web application ...
CCNet 0.8 Release Notes
Overview CruiseControl.NET 0.8 has the following improvements since 0.7: CruiseControl.NET Server (!) Breaking Change Force Build Interval Trigger and Polling Interval Trigger have been replaced by Interval Trigger, and the Force Build Schedule Trigger and Polling Schedule ...
CCNet 0.9 Release Notes
Overview CruiseControl.NET 0.9 has breaking configuration changes since 0.8. Make sure to read these release notes carefully and then drill down into the documentation as necessary. We recommend that as part of upgrading that you backup your current CCNet directories, and then read ...
CCNet 0.9.1 Release Notes
Overview Configuration If a tasks included in the section fails then none of the subsequent tasks will be executed. This is useful if you have multiple build or test tasks that you want to execute and you want to halt the build after the first failure. However, if you ...
CCNet 0.9.2 Release Notes
Overview If you are explicitly using the file state manager configuration block File State Manager in your ccnet.config file, you should be aware that the filename property has now been removed. The filename will be inferred from the project name. If you ...
CCNet 1.0 Final Release Notes
official 1.0 release for CruiseControl.NET. These release notes show the list of changes since 1.0 RC2. For a list of all of the fixes included in the 1.0 release, please check the jira http://jira.public.thoughtworks.org/browse/CCNET site. Release Notes CruiseControl .NET ...
CCNet 1.0 RC1 Release Notes
first Release Candidate for CruiseControl.NET 1.0 . We gratefully welcome any feedback that can improve the final distribution of 1.0, which we hope to release within the next few weeks. As always, if upgrading from a previous version make sure ...
CCNet 1.0 RC2 Release Notes
second Release Candidate for CruiseControl.NET 1.0. It incorporates a number of bug fixes and enhancements based on the feedback that we have received after releasing the first release candidate. We welcome futher feedback on this candidate to improve the final distribution of 1.0. Release ...
CCNet 1.0.1 Release Notes
Release Notes CruiseControl .NET Version 1.0.1 This release fixes a number of key bugs in the 1.0 release. Bug CCNET606 ModificationWriterTask should write xml as UTF8 CCNET608 Cannot download cctray from installed webdashboard virtual directory CCNET609 ...
CCNet 1.1 Final Release Notes
Highlights of the CCNet 1.1 release Log4Net is used with a rolling logfile appender for logging CCNet build server output. Users can use CCTray to volunteer to fix a broken build. section allows custom tasks to run prior to build ...
CCNet 1.1.1 Final Release Notes
Highlights of the CCNet 1.1.1 release The 1.1.1 release is a point release for CCNet 1.1. It contains a few bug fixes and some enhancements. See the list below for more details. Upgrading from CCNet 1.1 CCNet 1.1.1 should be fully backwards ...
CCNet 1.2 Release Notes
Highlights of the CCNet 1.2 release Subversion provider can now automatically checkout source CVS provider can now automatically checkout source (there are configuration changes required for this) CCNet server does a better job of killing child processes when ...
CCNet 1.2.1 Release Notes
Highlights of the CCNet 1.2.1 release This is a patch release for CCNet 1.2 that fixes a couple of important bugs with the 1.2 release. It should be compatible with the 1.2 release and will not require any modifications to the ccnet.config file or upgrading the version of CCTray. Upgrading from CCNet 1.1 ...
CCNet 1.3 Release Notes
Highlights of the CCNet 1.3 release Integration Queues The biggest feature change to CCNet 1.3 is the addition of Integration Queues to control and manage integration concurrency. Integration queues allow you to control which projects are permitted to build concurrently and to set their relative ...
CCNet 1.4 Release Notes
Highlights of the CCNet 1.4 release Email publisher enhancements The Email Publisher has been significantly enhanced in this release. It is now possible to configure users to receive notification for all possible build results, and to configure build notifications for users who contribute ...
CCNet 1.4.1 Release Notes
Highlights of the CCNet 1.4.1 release The highlights for 1.4.1 previously said that the reporting graphs now worked in Firefox 3. That was incorrect. The work to update Dojo was not completed for the 1.4.1 release. Apologies for the confusion. Category shown on Dashboard The category element is now used ...
CCNet 1.4.2 Release Notes
Highlights of the CCNet 1.4.2 release Interaction with Subversion and other external processes fixed The 1.4.1 release had a bug that prevented ccnet from using external processes correctly. Because of a race condition, CCNet would not receive all of the output from ...
CCNet 1.4.3 Release Notes
Upgrading to CCNet 1.4.3 In earlier versions of CCNet, an empty trigger block was interpreted as an . This is no longer the case. An empty trigger block will produce a project with no triggers that will only build if it is forced. See the release notes for the CCNet 1.4.2 ...
CCTray
Please note this documentation covers the new version of CCTray included in CruiseControl.NET version 1.0 CCTray is an optional utility for use with the CruiseControl.NET Continuous Integration server. It provides feedback upon build progress, and allows control over some of the server's ...
CCTray Download Plugin
CCTray Download Plugin adds a link to the dashboard to download the installer for CCTray. Example Configuration Elements There is no configuration for this plugin
cctray-settings.xml
Configuration xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance"> 5 CCValidator
CCValidator is a GUI tool for validating the contents of a ccnet.config file. It uses the same underlying rules engine as both the service and the console to check all the rules around what is valid in the configuration. Starting To start the validator doubleclick on the validator shortcut under CruiseControl.Net. ...
Commit Process
Please adhere to the following process when commiting changes to the repository: # check to make sure that the build is currently passing on ccnetlive http://ccnetlive.thoughtworks.com/ccnet/. # validate that your changes work by running 'b.bat' in the root folder # check to see if a jira issue ...
Configuration Preprocessor
CCNet configuration preprocessor acts on the ccnet.config file. Preprocessor directives are specified in the XML namespace "urn:ccnet.config.builder" to distinguish them from ordinary configuration markup. Any markup not in the preprocessor's namespace are passed through unchanged. Preparing to Use the Preprocessor The configuration ...
Configure CruiseControl.Net to Automatically Update its Config File
While using CC.Net the config file often has to be changed to add or remove projects or to add or remove reports. It can also be useful to keep the config file in a repository to track changes and to help get the server up and running again in case ...
Configuring the Server
Outside of writing your build scripts to support Continuous Integration, your main configuration task in getting an instance of CruiseControl.NET running for your project is editting the Server's configuration file. This is defined in an XML file which by default is called ...
Configuring the Web Dashboard
Web Dashboard is configured through the {{dashboard.config}} file, a set of XSL files, and a set of style sheets Web Dashboard Style Sheets (CSS files). In most cases this file will be found in the root of the Web Dashboard application. The only deploymentspecific configuration in the {{web.config ...
Contributor License Agreement
We welcome, and are very appreciative of, contributions to CCNet from its user community. We'd love just to take your code and put it straight in the source tree, but for legal reasons we have to ask you to agree to the attached agreement CC.NET ...
CruiseControl.NET Integration Process
following is an example of what steps the CruiseControl.NET server goes through when running an integration on a project built using NAnt and checked into a Visual Source Safe (VSS) Source Control Server. This process is basically the same for all other ...
CruiseControl.NET Server
Server Quick Start # Check you have the Installation Prerequisites. # Download and Install. The Basic Installation page describes the types of kits that are available. # Add a Project Configuration Block to ccnet.config with the following sub blocks (you'll want at least these for most usages ...
Custom Builder Plug-in
Steps: # Create a Class Library project to build the assembly that will contain your custom builder plugin. The assembly that it produces should be named: 'ccnet..plugin.dll' (where the star represents the name you choose). # Add your new custom builder class ...
Custom templates
possible to change the templates that are used in the dashboard. By default the dashboard looks in the /templates folder for the template to use. But, it is now possible to set a custom template location by setting in . When a template is requested it will first look in the location specified by . If there is a template ...
CVS Source Control Block
CVS Configuration Examples Please refer to Using CruiseControl.NET with CVS for an overview of this block. For CVS you must define where the CVS executable (if you give a relative path, it must be relative to the ccnet.exe application) is and the working directory for checked out ...

D

Dashboard Configuration Block
root tag in the Dashboard Configuration file is the {{}} tag. The {{}} tag contains a {{}} Remote Services Configuration Block section and a {{}} Plugins Configuration Block section. Example: . . . . Date Labeller
Date Labeller is used to generate labels in the format "yyyy.mm.dd.build". Using the Date Labeller makes it easy for the user to identify and communicate the date that a particular build occurred. This labeller ...
Default Labeller
Default Labeller By default, CCNet uses a plain incrementing build number as a build label. Some source controls (e.g. Perforce Source Control Block) require you to use a different naming scheme if you want CCNet to apply labels ...
Developer Guidelines
Development Practices Testfirst development. Code without unit tests will not be accepted. Refactor mercilessly; however, notify the list before making large, broadreaching refactorings. Small methods (no more than 15 lines). Long methods will be collected and emailed to the list ...
Developer Registration Process
page describes the steps required for registering a new developer for the CCNet project. If you are interested in becoming a committer on the CCNet project, please contact the CCNet project administrators http://sourceforge.net/projects/ccnet; bestowing of commit rights is generally contingent on having ...
Developing Web Dashboard Plugins
Web Dashboard Plugin API is not yet stabilised. If you do write your own plugins it is recommended that you subscribe to the CCNet Checkins Mailing list http://lists.sourceforge.net/mailman/listinfo/ccnetcheckins and watch for changes to the Dashboard project The Web Dashboard ...
Documentation
you are reading this documentation online it refers to the most recent development build, and not any specific release\! Introduction to Continuous Integration and CruiseControl.NET What is Continuous Integration? What is CruiseControl.NET? Why CruiseControl.NET? CruiseControl.NET Integration Process For Users Getting Started First ...
Documentation Guidelines
page is meant for committers to the CruiseControl.NET project only (i) This page still needs to be thrashed out, but here are some opening thoughts Configurable blocks should be documented under Configuring the server. The hierarchy under this page mirrors the hierarchy of the Configuration itself ...
Download
Release Distributions CruiseControl.NET release distributions are available from SourceForge http://sourceforge.net/project/showfiles.php?groupid=71179&packageid=83198. If your company does not let you access SourceForge, please download the build number corresponding to the release from ...

E

Email Publisher
email publisher can be used to send email to any number of users. It is common to include one user who gets an email for every build and then also send email to every developer who checked code in for this build. (i) People ...
Enterprise Continuous Integration with Binary Dependencies example
example shows how to use CruiseControl.NET to automate 'Enterprise' (or crossproject) Continuous Integration (ECI). The particular flavour of ECI works by splitting up 1 project into 2 and introducing a 'binary' (or DLL) dependency between the 2. An ECI build is used ...
Examples
Executable Task
Executable Task lets you invoke any command line executable. It doesn't offer as much specific integration as (for example) the NAnt Task, but does allow you to hook almost anything up as a build process to CCNet. CCNet will examine the exit ...
External Source Control
External Source Control Configuration Note: The External source control block is available in CCNet build 1.3.0.3053 and later. Typical / Minimal Configuration For most uses the following is all you'll need in your {{ccnet.config}} Configuring the Server: ExternalLinks
externalLinks>}} section can contain any number of {{}} subsections. Each of these are used to display project related links on the project report page of the Web Dashboard, and are meant as a convenient shortcut to projectrelated web sites outside of CruiseControl.NET. Example

F

FAQ
CruiseControl.NET Frequently Asked Questions (FAQ) This FAQ is not meant to be a complete reference to CruiseControl.NET, but does provide some quick ideas about how to get various things done. If you want to add questions, answers, or both, please use the ccnetuser ...
Farm Report Farm Plugin
Farm Report Farm Plugin shows you status information for all projects on all servers. If the Dashboard cannot connect to any specific server then an errors table is shown detailing the problems. Example Configuration Elements There is no configuration for this plugin
File Labeller
File Labeller The File Labeller is used to generate labels based on the content of a disk file. The labeller is configured with the location of the file, and it reads the file content to generate the label for CCNet. The file is read just before the first prebuild task is executed. The following ...
File Merge Task
Most build processes interact with external tools that write their output to file (e.g. NUnit, FxCop, or NCover). To make the output of these tools available to CruiseControl.NET to be used in the build process or displayed in the CruiseControl.NET web page or included in CruiseControl.NET emails, these files need ...
File State Manager
File State Manager is a State Manager State Manager Blocks that saves the state for one project to a file. The filename should be stored in either the working directory for the project or in the explicitly specified directory. The filename will match the project name, but will have the extension .state ...
Filesystem Source Control Block
Use the 'Filesystem' Source Control plugin to check for modifications on a directory accessible by the build server. A file is considered modified if the file's modified time stamp is more recent than the last time CruiseControl.Net checked for modifications. You can use either ...
Filter Trigger
Filter Trigger allows you to prevent builds from occurring at certain times or on certain days (such as when your source control repository is undergoing backup). It is used to decorate an existing trigger. For example, if you have set up a Interval ...
Filtered Source Control Block
What is FilteredSourceControl? The FilteredSourceControl allows you to filter out modifications that are used to trigger a build. If for example, you have certain files (such as web pages or document files) under source control that you don't want to have trigger the build, you ...
FinalBuilder Task
FinalBuilder Task allows you to invoke FinalBuilder build projects as part of a CruiseControl.NET integration project. FinalBuilder http://www.finalbuilder.com/finalbuilder.aspx is a commercial build and release management solution for Windows software developers and SCM professionals, developed and marketed by VSoft Technologies ...
ForceBuildPublisher
ForceBuildPublisher forces a build on a local or remote build server. It uses .NET Remoting to invoke a forced build on the CruiseControl.NET server at the specified URI. The forced build runs asynchronously, i.e. the ForceBuildPublisher does not wait for the forced build to finish. The ForceBuildPublisher is a great ...

G

Gendarme Task
Gendarme task is used to run a static code analysis over your assemblies. (i) See Using CruiseControl.NET with Gendarme for more details. You can also apply the patch from http://jira.public.thoughtworks.org/browse/CCNET1401 Examples Minimalist Example:

H

How to force a CCNet build from a NAnt script
Sometimes (eg: if you want to build a list of projects in sequence) it can be convenient to trigger builds from a NAnt script. For that purpose one can use the launchccnetbuild NAnt task (source available here: LaunchCruiseControlBuildTask.cs). Example: I Installation Prerequisites
CruiseControl.NET Server To get CruiseControl.NET server up and running, you need to have the following environments set up and installed: Microsoft.NET Framework Version 2.0 (download http://www.microsoft.com/downloads/details.aspx?FamilyID=0856EACB43624B0D8EDDAAB15C5E04F5&displaylang=en) CruiseControl.NET Web ...
Installing the Web Dashboard
Previous versions (0.8 and earlier) of the Dashboard required you to setup a {{projectcache}} folder with certain privileges. This is no longer necessary. If you have earlier versions of the Dashboard installer you should delete that folder and revert all custom privileges. Simple Installation ...
Integration Properties
Label Description Example CCNetBuildCondition The condition used to trigger the build, indicating if the build was triggered by new modifications or if it was forced. Legal values are: "IfModificationExists" or "ForceBuild" ForceBuild CCNetIntegrationStatus The status of the current integration. Could be Success, Failure, Exception or Unknown Success CCNetLabel ...
Integration Queues
Integration Queues Concurrent and Serialised Builds The default behaviour of CruiseControl.Net is that each project defined in the configuration is given its own integration thread, thereby allowing differently named projects to build concurrently. Note however that a single project can never ...
Interval Trigger
Interval Trigger is used to specify that an integration should be run periodically, after a certain amount of time. By default, an integration will only be triggered if modifications have been detected since the last integration. The trigger can also be configured to force ...
Issues
We track CCNet issues using Jira here http://jira.public.thoughtworks.org/secure/BrowseProject.jspa?id=10000 Here's a list of the current outstanding issues
IssueUrlBuilder
addition to the sourcecontrol provider allows easy linking with an issue tracking system like Jira, Gemini, Bugzilla, ... The issueUrlBuilder will try to convert the comment (or parts from it) into an url pointing to the issue for this build. These are the items that will have the comment transformed into an ...
Iteration Labeller
Iteration Labeller The Iteration Labeller is similar to the Default Labeller; however, it maintains a revision number that is incremented by one for each iteration from the release start date. For example, if the release start date was June 1, 2005 and the iteration duration was 2 weeks ...

J

K

L

Labeller Blocks
Labellers are used to generate the label that CCNet uses to identify the specific build. The label generated by CCNet can be used to version your assemblies or label your version control system with each build. Types of Labeller Block
Last Change Labeller
Some source control systems (e.g., AccuRev Using CruiseControl.NET with AccuRev) have a concept of a "change number", which the Last Change Labeller can use to build a label. The following configuration would prefix all labels with the string 'Foo1', so ...
Latest Build Report Project Plugin
Latest Build Report Project Plugin lists all available builds for a project. Example Configuration Elements There is no configuration for this plugin
License
ThoughtWorks Open Source Software License, Version 1.0 Copyright (c) 2003 ThoughtWorks, Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: # Redistributions of source code ...

M

Mailing Lists
We use Google Groups http://groups.google.com to host public mailing lists. To subscribe to lists, or read their archives, click the appropriate link below. You will need a (free) Google account to subscribe to these lists, and you must subscribe if you wish ...
MKS Source Integrity Source Control Block
MKS Source Integrity Example For MKS Source Integrity you must specify the executable, user, password, hostname, sandboxroot and sandboxfile. You may also specify the port. C:\MKS\bin\si.exe Modification Reader Task
tasks makes it possible to read back modifications made by the Modification Writer Task CCNET:Modification Writer Task. Example : 2 projects in CCNet 1) is a project that does the compile, test, ... stuff, and also writes the modifications using the ModificationWriterTask   ...
Modification Writer Task
task writes the detected modifications for the current integration to a file as XML. This enables the modifications to be used by external programs, such as within a NAnt build script. Minimal configuration example: Full configuration example: mods.xml ModificationHistory Publisher
publisher logs all modifications for each build in a file. These modifications can be viewed in the Dashboard with the modificationHistoryProjectPlugin plugin enabled. Minimal Configuration:  This is available from build 1.3.0.2981 onwards Full  Configuration modificationHistoryProjectPlugin
plugin shows all the modifications of a project. The newest builds are shown first. The project must use the ModificationHistory Publisher to get results to show up. Minimal Configuration  < modificationHistoryProjectPlugin /> .... This is available from build 1.3.0.2981 onwards Full Configuration ...
MsBuild Task
msbuild>}} task is used to execute MsBuild projects, which are the default project format for Visual Studio 2005 projects and can also be compiled by using the MSBuild application that ships with the .NET 2 Framework. In order to work with the results of MsBuild it is important to use ...
Multi Source Control Block
Multi' Source Control Configuration Example You can use the 'Multi' Source Control plugin to check for modifications from any number of source control repositories. You may want to do this if (for example) you want to build if the source for your ...
Multiple Projects
CruiseControl.NET server can be configured to manage the integration requirements for several projects concurrently. To do this, simply include the configuration for the different projects consecutively in the ccnet.config file. ... ... If you ...
Multiple Trigger
Multiple Trigger is used to support the execution of multiple nested triggers. Each trigger will be executed sequentially in the order specified in the configuration file. By default, if any of the triggers specify that a build should occur then a build will be triggered. The build condition Integration Properties will be ForceBuild ...
Multiple XSL Report Build Plugin
The Multiple XSL Report Build Plugin shows detailed output for a specific build. This report is generated by applying a list of XSL transforms to the build's log file. It also allows for end users create build reports that combine existing XSL ...

N

NAnt Task
Examples Minimalist Example: Full example: c:\fromcvs\myrepo\myproject\tools\nant\nant.exe c:\fromcvs\myrepo\myproject D:cvs.executable=c:\putty\cvswithplinkrsh.bat NetReflector
NetReflector is the xml binding framework used by CCNet to handle the deserialisation of the configuration data into the objects used by the application. You can find out more about NetReflector on the confluence site http://confluence.public.thoughtworks.org/display/NetReflector. The NetReflector project is hosted on SourceForge ...
News
CCNet Blog
Null Source Control Block
Use the Null Source Control if you don't want to check a Source Control repository for changes. In this instance you would always want to either use a 'Force Build' Trigger or always manually start builds, from the Web Dashboard or CCTray ...
Null Task
Null Task is a task that doesn't do anything it simply returns successfully. This is useful for projects that simply monitor the source control system for changes but don't need to do anything. Configuration Example NUnit Task
i) See Using CruiseControl.NET with NUnit for more details. This task enables you to instruct CCNet to run the unit tests contained within a collection of assemblies. The results of the unit tests will be automatically included in the CCNet build results. This can be useful if you ...

O

P

Packaging a Release
process of producing a new stable release of CruiseControl.NET is as follows (note that some steps require nondefault permissions): # Choose the release number "x.y". In most cases, x will remain the same and y will increase by 1 from the previous release. # Rename the release ...
Perforce Source Control Block
Perforce Configuration Examples Example using defaults: //projects/myproject/... Full example: //projects/ccnet/...,//tools/nant/... c:\perforce\p4.exe PlasticSCM Source Control Block
PlasticSCM Configuration Note: The PlasticSCM source control block is available in CCNet 1.3 and later. This supports Códice Software's Plastic SCM source control system. Plastic SCM Configuration Example For Plastic SCM you must specify the working directory ...
Plugins Configuration Block
Web Dashboard comes preconfigured to use a default set of plugins. To change what plugins you want to use for your CruiseControl.NET deployment, use the {{}} section of the Dashboard configuration. The section is split up into 4 parts, representing the Farm, Server ...
Project Configurable Build Plugin
Most Build Plugins can be configured to be used only for certain projects. If they can be, it will say on their own documentation page. A Build Plugin by default will appear on the Build Plugins list for all projects, but you can specify either a specific inclusion or exclusion ...
Project Configuration Block
project>}} block defines all the configuration for one project running in a CruiseControl.NET server Examples Minimalist example: \\ Full example: yourWorkingDirectory Project Details
Open Source CruiseControl.NET is an Open Source project. This means it is free to use, and the source code is also available and distributable under a few conditions. Our License is very similar to the Apache & BSD licenses. Project Management The CruiseControl.NET source trees ...
Project Report Project Plugin
Project Report Project Plugin shows you summary details for a specific project. Part of these details are any External Links ExternalLinks you have specified in the project configuration. Example Configuration Elements There is no configuration for this plugin
Project Statistics Plugin
Project Statistics Plugin displays the statistics for the project. Since version 1.4 the graphs of Eden Ridgway are incorporated into CCNet. Example Project Team
people are committers to CruiseControl.NET: cbrown Bill Caputo Ajey Gore Daniel Hommel Manuel Paul Joseph Ashish Kumar nmallick mgm Ryan Moffat darren Ross Patterson mroberts orogers Mike Royle Garrett Smith svadagir@thoughtworks.com Jeremy ...
Project Trigger
Project Trigger is used to trigger a build when the specified dependent project has completed its build. This trigger can help you split your build process across projects and servers. For example, you could have a CCNet project ...
projectConfigurationServerPlugin
plugin shows the basic configuration of the projects on this buildserver. Like project name, category, queue and queue priority, making it easier to spot conflicts in the queue setup for this buildserver. Example Configuration Elements There is no configuration for this plugin
PVCS Source Control Block
CruiseControl.NET supports integrating with the PVCS Source Control system via the pcli client. PVCS Configuration Examples For the PVCS provider you must specify the executable, project and subproject. Additional optional arguments are defined in the table below. Q Queue Configuration
queue tag The queue tag allows to configure the behavior of your build queues. It allows to configure how duplicate requests are handled within a queue and it also allows to configure locks that queues can acquire against each other. Attribute Description ...

R

Rake Task
Examples Minimalist Example: Full example: c:\ruby\bin\rake.bat c:\fromcvs\myrepo\myproject additionalargument Rakefile build Rational ClearCase Source Control Block
Rational ClearCase Configuration Typical / Minimal Configuration For most uses the following is all you'll need in your {{ccnet.config}} Configuring the Server: C:\PATH\TO\SOURCE true This will: monitor ClearCase ...
Remote Project Labeller
Remote Project Labeller This labeller retrieves the last successful integration label for a project on a remote server. You can use this labeller if you have split your build across multiple projects on different servers and you want to use a consistent ...
Remote Services Configuration Block
time the {{}} tag just contains a {{}} Servers Configuration Block section. This section contains all the build servers that the Dashboard will visualize. Example: . . Resources
Useful links CruiseControl.NET Community Site CCNETCOMM: Report a bug or request a feature (JIRA) http://jira.public.thoughtworks.org/secure/BrowseProject.jspa?id=10000 CCNet Sourceforge Project Page http://www.sf.net/projects/ccnet/ CCNetLive http://ccnetlive.thoughtworks.com/ CruiseControl for Java ...
RSS Publisher
publisher generates an RSS file reporting the latest results for a Project. The RSS feed is available via the Dasboard in the Project Report. There needs to be 1 build done with this publisher for the icon to show up. Minimal Configuration \\ This is available ...
RSSFeedProjectPlugin
publisher generates an RSS feed reporting the builds for a project. The project must use the RSS Publisher to produce the data for the feed. This is available from build 1.3.0.3011 onwards. The RSS icon will be displayed on the project page, whenever a build is done with the RSS ...

S

Schedule Trigger
Schedule Trigger is used to specify that an integration should be run at a certain time on certain days. By default, an integration will only be triggered if modifications have been detected since the last integration. The trigger can be configured to force a build even ...
SCM Policy
page describes Source Control, Build Management and Issue Tracking policy for the CruiseControl.NET project. (!) This is how CruiseControl.NET manages itself as a project in development. If you are just using CruiseControl.NET you of course do not need to follow these same guidelines, but you might ...
Seapine Surround Source Control Block
Surround SCM Configuration Example The Seapine Surround provider is designed to work with Surround 4.1. It may not work with earlier versions of Surround. For Surround SCM you must specify the executable, branch, repository, working directory, and login. You may also ...
Server Application Config File
Various aspects of the CruiseControl.NET Server are configured in the application configuration file. The name of this file depends on how you are running the server: If you are running the Console Application, the application config file is called {{ccnet.exe.config}}. If you are running the Windows Service Application, the application ...
Server Information Server Plugin
Server Information Server Plugin gives you information about a build server, for example the version of CruiseControl.NET the build server is running. Example Configuration Elements There is no configuration for this plugin
Server Log Project Plugin
Server Log Project Plugin shows you recent activity that has been output to the server log for a specific project. Read the Server Application Config File page for more help on build server logging. Example Configuration Elements ...
Server Log Server Plugin
Server Log Server Plugin shows you recent activity that has been output to the server log for a specific build server. Read the Server Application Config File page for more help on build server logging. Example Configuration ...
Server Report Server Plugin
Server Report Server Plugin shows you status information for all projects on a specific server. If the Dashboard cannot connect to the server then an errors table is shown detailing the problem. Example Configuration Elements There is no configuration for this plugin
Servers Configuration Block
Dashboard needs to connect over the network to each of Build Servers you want to report on. If you have changed any of the remoting configuration for your servers, you'll need those details now. (See Server Application Config File for more ...
Setting up from scratch Part 01
We'll be setting it up step by step, so this will be a real step by step approach. The reason is you can see what the benefits are of the setups used in this document. The first parts will seem overdone for users who used CCNet before, but it is intended for the real ...
Site Index
Site Index for the CruiseControl.NET Space
Solution Structure
Here is a dependency graph of the assemblies contained within the CCNet project. This graph is in the SVG format, so you will need to download an SVG Viewer http://www.adobe.com/svg/viewer/install/main.html. ccnet.svg
Source Control Blocks
Source Control Blocks Source Control Feature Matrix This matrix represents the source control provider capabilities as of the current CCNet release. Source Control Detect Modifications Update Source Checkout Source Label Modification Urls AccuRev (/) (/) (/) (/) (x) Alienbrain ...
SourceAnywhere Standalone Source Control Block
Because the plugin is developed using SourceAnywhere Standalone SDK, it is available as a standalone plugin at the Dynamsoft SourceAnywhere Standalone Download Site http://www.dynamsoft.com/Downloads/SAWStandaloneDownload.aspx. SourceAnywhere Standalone (SAWS) Configuration Examples Minimal example: SourceGear Vault Source Control Block
SourceGear Vault Configuration Examples Minimal example: Full example: c:\program files\sourcegear\vault client\vault.exe myusername Splitting the build
your codebase grows and your build starts to take an increasingly long time, it often makes sense to think about splitting your build process into a set of dependent builds (check out my paper "Scaling Continuous ...
StarTeam Source Control Block
StarTeam Configuration Example For StarTeam you must specify the executable, project, username and password. You may also specify the host, port and path. The host defaults to 127.0.0.1. The port to 49201. The path to the empty string. State File Labeller
State File Labeller This labeller retrieves the last successful integration label for a project using the project's state file. You can use this labeller if you have split your build across multiple projects and you want to use a consistent ...
State Manager Blocks
CruiseControl.NET needs to store state about a project. This is data such as the last build label, the time of the last build, and the outcome of the build, etc. The State Manager allows you to specify how and where this data is stored. Types of State Manager Block
Statistics Publisher
publisher can be used to collect and update statistics for each build in a file. Some of the statistics which would be collected are build durations and test count. At the minimal, the publisher can be configured with just an empty element in the publishers section. This would ...
Subversion Source Control Block
CruiseControl.NET provides basic support for Subversion repositories. Checking for changes, checking out or updating sources, and taggingbycopying are supported, but more advanced features such as using Subversion revision numbers are not yet supported. Subversion support is under active development and will improve over ...
Support
CruiseControl.NET is not a commercial piece of software, so we cannot guarantee support. However, we do have some ways to help you with issues you may have: If you subscribe to the CCNetuser mailing list Mailing Lists, and post any ...

T

Task Blocks
Task Blocks are the action elements of CruiseControl.Net. They're the elements that do things, like executing a program, running tests, or send email results. Task blocks must appear in the {{}} section, the {{}} section or the {{}} section. The {{}} section is always ...
Telelogic Synergy
Abstract This page describes integration of CruiseControl.NET with Telelogic's Synergy SCM product suite, specifically CM Synergy as well as ChangeSynergy. Detection of modifications is entirely task based rather than object based, which may present problems for pre6.3 lifecycles ...
The CruiseControl Configuration Block
root tag in the Server Configuration file is the {{}} tag. The {{}} tag can contain 1 or many Project Configuration Blocks as sub tags. Read the Multiple Projects page if you'd like to have more than 1 project section ...
The Server Console Application
You can launch the CruiseControl.NET server by executing the {{ccnet.exe}} file, which is located in the {{server}} folder of the extracted distribution. Before doing this, make sure to setup the Server Application Config File. Executing the server using the {{help}} flag (eg. {{ccnet.exe ...
The Server Service Application
Installing CCService CCService is a Windows Service that can be used to launch the CCNet server. If you used the CruiseControl.NET Installer to setup CCNet on your machine, the CCNet service should already be configured. Look in the Services section of the Control Panel on your machine ...
ThoughtWorks
CruiseControl.NET is developed by ThoughtWorks. We are a world leading Systems Integrator, specializing in Agile Development Techniques. You can read more about us at http://www.thoughtworks.com (i) We are currently recruiting around the world check out our career ...
Timeout Configuration
Timeout Configuration Most source control blocks allow you to specify a timeout for operations (see the documentation for the specific source control block to be certain). By default you specify the timeout in milliseconds. If you specify the timout as an element, it can be set ...
Trigger Blocks
Trigger blocks allow you to specify when CruiseControl.NET will start a new integration cycle. For CI you'll want to use an Interval Trigger. Also useful is the Schedule Trigger for implementing daily builds. Use the Filter Trigger to prevent builds ...

U

Upgrading CCNet
document describes two approaches to upgrading CCNet: a quick upgrade process (optimistic) and a slower, safer upgrade process that allows for quickly rolling back to the earlier install if required (pessimistic). Optimistic Approach: # Stop the CCNet server (either by closing the console ...
Url Trigger
Url Trigger is used to trigger a CCNet build when the page at a particular url changes. The Url Trigger will poll the specified url according to a configured polling interval to detect if the last modified date of the page has changed since the last integration ...
Using CruiseControl.NET with AccuRev
Using CruiseControl.NET with AccuRev CruiseControl.NET has the following integration with AccuRev, Inc.'s http://www.accurev.com AccuRev http://www.accurev.com/accurev.html source control system: (/) Modification Checking via polling (/) Automatic Source Updates (/) Automatic labelling on success Setting up ...
Using CruiseControl.NET with Alienbrain
See Alienbrain Source Control Block
Using CruiseControl.NET with Ant
following sections show you how to setup CruiseControl.NET to build a project using Ant http://ant.apache.org/ as its build tool. This page was written testing against Ant version 1.6.5 . Setting up the Build Server At the present time, CruiseControl.NET ...
Using CruiseControl.NET with CppUnit
Maybe it is not "correct way". But for me it really works. I used CppUnit 1.12.0 First Server... Server Tasks In and .bat file for launching tests. It is required that this but file first delete privious results. Than launch tests and using XmlOutputter ...
Using CruiseControl.NET with CVS
CruiseControl.NET has the following integration with CVS: (/) Modification Checking via polling (/) Automatic Source Updates (/) Automatic Source Checkout (/) Automatic labelling on success (/) Web Integration with ViewCVS Setting up a CVS project for use with CruiseControl.NET Make a note of the full ...
Using CruiseControl.NET with FitNesse
Running FitNesse http://fitnesse.org tests as part of your build process Use the TestRunner http://fitnesse.org/FitNesse.DotNet.DotNetTestRunner which comes as part of the standard fitnesse distribution to run all the fitnesse tests and generate the results. You will need to use the Using CruiseControl.NET with FxCop
Run FxCop as part of your integration Run FxCop as part of your NAnt build In order to get the results of FxCop included in the CruiseControl.NET build results, you will need to include a call to FxCopCmd.exe in your NAnt build file. We recommend ...
Using CruiseControl.NET with Gendarme
Run Mono's Gendarme as part of your integration Gendarme is a extensible rulebased tool to find problems in .NET applications and libraries. Gendarme inspects programs and libraries that contain code in ECMA CIL format (Mono and .NET) and looks for common problems with the code ...
Using CruiseControl.NET with InstallShield
From the perspective of CruiseControl.NET, InstallShield is just another application, which can be run directly with the exec task or indirectly via NAnt or MSBuild. For many people, the hard part is just learning how to invoke InstallShield from the command line. The following ...
Using CruiseControl.NET with MBUnit
process of getting MBUnit working with CCNet is similar to that of the other external tools. Check out the Simian Using CruiseControl.NET with Simian page for an example. Check Andrew Stopford's blog for more info: http://weblogs.asp.net/astopford
Using CruiseControl.NET with MKS Source Integrity
See MKS Source Integrity Source Control Block for details on integrating CruiseControl.NET with MKS Source Integrity
Using CruiseControl.NET with Mono
CruiseControl.NET 1.1 and later works with recent versions of Mono (1.1.x). There are currently a couple of path separator issues (described in this issue http://jira.public.thoughtworks.org/browse/CCNET583) that will be resolved before the next release. Attached momaoutput.html is a copy of the Mono Migration Analyzer http://www.monoproject.com ...
Using CruiseControl.NET with MSBuild
CruiseControl.NET includes an MSBuild Task to integrate MSBuild (.NET 2.0) projects. The MSBuild Task page is the reference for the task, so that will always contain the most uptodate documentation, but this page acts as a tutorial. Decide what to build Normally, you'll want ...
Using CruiseControl.NET with MSTest
Integrating MSTest into your build You can use MSTest.exe to execute your MSTest unit tests from the commandline. You can find a list of the MSTest.exe commandline options here http://msdn2.microsoft.com/enus/library/ms182489. You will need to using ...
Using CruiseControl.NET with NAnt
See the NAnt Task for common use. You may also want to know How to force a CCNet build from a NAnt script
Using CruiseControl.NET with NCover
page shows how you can integrate NCover, a code coverage tool, with NUnit into your CruiseControl .NET build for test coverage purpose. NCover is a code coverage analysis tool and it is designed to work with compiled shipping code. There are several different ...
Using CruiseControl.NET with NDepend
Run NDepend as part of your integration Run NDepend as part of your NAnt build In order to get the results of NDepend included in the CruiseControl.NET build results, you will need to setup a NDepend project file that includes information about which Assemblies ...
Using CruiseControl.NET with NUnit
Integrating NUnit into your build in the CruiseControl.NET Server The typical way to integrate the CruiseControl.NET Server with NUnit is to run NUnit as part of your Build Process Builder Blocks. This is the recommended mechanism since it means developers are using a build process closer to the integration ...
Using CruiseControl.NET with other applications
CruiseControl.NET is designed to work with a variety applications in several groups. The following pages tell you how to do this. Source Control Systems Using CruiseControl.NET with AccuRev Using CruiseControl.NET with Alienbrain Using CruiseControl.NET with CVS Using CruiseControl.NET with Subversion Using CruiseControl.NET ...
Using CruiseControl.NET with Other Build Tools
See Executable Task
Using CruiseControl.NET with PartCover
What is PartCover? PartCover is a tool to calculate unit test code coverage. Sure many people knows NCover, which has been extensively used to calculate code coverage in combination with cruisecontrol.net, PartCover does just the same with the only difference ...
Using CruiseControl.NET with Perforce
See Perforce Source Control Block
Using CruiseControl.NET with PVCS
See PVCS Source Control Block
Using CruiseControl.NET with Rational ClearCase
See Rational ClearCase Source Control Block
Using CruiseControl.NET with Seapine Surround
See Seapine Surround Source Control Block
Using CruiseControl.NET with Simian
Run Simian as part of your integration Run Simian as part of your NAnt build In order to get the results of Simian included in the CruiseControl.NET build results, you will need to include a call to simian.exe in your NAnt build file. We recommend ...
Using CruiseControl.NET with SourceGear Vault
See SourceGear Vault Source Control Block
Using CruiseControl.NET with StarTeam
See StarTeam Source Control Block
Using CruiseControl.NET with Subversion
See Subversion Source Control Block
Using CruiseControl.NET with Telelogic Synergy
See the Telelogic Synergy source control configuration block
Using CruiseControl.NET with Vil
page shows how you can integrate Vil http://www.1bot.com/, a code metrics tool, into your CruiseControl .NET build. This update was provided by Wojciech Zimirski. Run Vil as part of your integration After downloading and installing VIL, you ...
Using CruiseControl.NET with Visual Source Safe
See Visual Source Safe Source Control Block
Using CruiseControl.NET with Visual Studio .NET
See Visual Studio Task
Using the Web Dashboard
Assuming you've set everything up OK, you should be able to view the default page in the Virtual Directory you setup for your web application. The default page on CCNetLive is at http://ccnetlive.thoughtworks.com/ccnet/, and you should see something similar ...

V

View All Builds Project Plugin
View All Builds Project Plugin lists all available builds for a project. Example Configuration Elements There is no configuration for this plugin
View Configuration Project Plugin
View Configuration Project Plugin shows the configuration for a project. This plugin shows the entire configuration. From build 1.4.0.3737 onwards, passwords are masked by default. Should you want to check the passwords via the dashboard, set hidePasswords to false. . \\ Example ViewServerQueue Server Plugin
plugin shows the current state of the queues on the build server. Example Configuration Elements There is no configuration for this plugin
Visual Source Safe Source Control Block
VSS Configuration Example For Visual Source Safe you must specify the executable, project, username and password. You may also specify the SSDIR. If SSDIR is not set the default or the SSDIR environment variable will be used. Minimal configuration example: Visual Studio Task
Most complex build processes use NAnt http://nant.sourceforge.net or MSBuild http://msdn2.microsoft.com/enus/library/ms171452.aspx to script the build. However, for simple projects that just need to build a Visual Studio.NET solution, the Visual Studio task {{}} provides an ...
Visual Studio Team Foundation Server Plugin
Because of dependencies on Team Foundation assemblies which cannot be shipped with the Cruise Control source, this plugin is available as a standalone plugin from the TFS CCNET Plugin http://www.codeplex.com/TFSCCNetPlugin/ project on CodePlex. The plugin works with Team Foundation Server 2005 ...

W

Web Dashboard
CCNet Web Dashboard Application is used for reporting a wide range of information. At one end of the scale it reports summary details of all projects in your organisation and at the other it can give specific metric output for any specific build. Features of the Web ...
Welcome to CruiseControl.NET
Download Documentation FAQ Examples Support Project Details ThoughtWorks Site Index Issues http://jira.public.thoughtworks.org/browse/CCNET CruiseControl.NET is an Automated Continuous Integration server, implemented using the Microsoft .NET Framework. \\ If you're new to CruiseControl.NET, you ...
What is Continuous Integration
practice of continuous integration represents a fundamental shift in the process of building software. It takes integration, commonly an infrequent and painful exercise, and makes it a simple, core part of a developer's daily activities. Integrating continuously makes integration a part of the natural rhythm ...
What is CruiseControl.NET
CruiseControl.NET Server CruiseControl.NET (CCNet) consists of a suite of applications, but at its core is the CruiseControl.NET Server which is an automated integration server. The Server automates the integration process by monitoring the team's source control repository directly. Every time a developer commits ...
Why CruiseControl.NET
CruiseControl.NET is based on the original Java implementation of CruiseControl http://cruisecontrol.sourceforge.net, we are frequently asked why we bothered to reimplement it for the .NET platform. Surely, it would be easier to just use the NAnt builder in CruiseControl to handle the build process for .NET projects ...

X

Xml Log Publisher
Xml Log Publisher is used to create the log files used by the CruiseControl.NET Web Dashboard, so if you don't define an section the Dashboard will not function correctly. You should place the in the section, after any File ...
XSL Files
XSL Transforms are used by the Web Dashboard to generate reports from build log files, for example using the Build Report Build Plugin or XSL Report Build Plugin. The following XSL Transforms are available, saved in the file {{xsl}}/{{transformName}}{{.xsl ...
XSL Report Build Plugin
Xsl Report Build Plugin shows detailed output for a specific build using a configured XSL Transform. See XSL Files for a list of available XSL transforms and how to use your own transforms. This is a Project Configurable Build Plugin. Example ...
XSL Report Project Plugin
CCNET packaged plugin. All required info could be found at CCNETCOMM XSL Report Project http://confluence.public.thoughtworks.org/display/CCNETCOMM/XSLReportProject

Y

Z

!@#$

Document generated by Confluence on Mar 14, 2009 02:55